package com.youlu.campus.web.community.service;

import com.youlu.campus.base.community.ContentTopicBase;
import com.youlu.campus.web.community.dto.*;
import com.youlu.campus.web.community.entity.TopicCount;
import org.springframework.data.domain.Page;

import java.util.List;

/**
 * 话题pk统计接口
 * @author: YangJ
 * @date: 2020/11/25 17:38
 */
public interface TopicCountService {

    /**
     * 根据话题id查询pk百分比
     * @param topicId
     * @return
     */
    TopicCountResponse queryTopicCountPercent(String topicId);

    /**
     * 根据话题id查询 当前用户是否投票
     * @param topicId
     * @return
     */
    TopicCount queryUserVoted(String topicId);

    /**
     * 话题投票
     * @param request
     * @return
     */
    TopicCountResponse vote(TopicVoteRequest request);

    /**
     * 建立话题与用户关系
     * @param topics
     * @return
     */
    boolean create(List<ContentTopicBase> topics);

    /**
     * 当前用户参与的话题列表
     * @param request
     * @return
     */
    Page<TopicUserResponse> topicUser(TopicQueryRequest request);
}
